<ui:composition template="templates/template.xhtml"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:rich="http://richfaces.org/rich"
                xmlns:a4j="http://richfaces.org/a4j">
    <ui:define name="principal">
		<rich:modalPanel id="aguarde" autosized="true">
			<h:panelGrid columns="2">
				<h:graphicImage url="/imagens/ajax-loader.gif" style="border:0px; vertical-align: middle;" />
				<h:outputText value="   Aguarde..." />
			</h:panelGrid>
		</rich:modalPanel>
		<a4j:status id="sts" for="region" onstart="Richfaces.showModalPanel('panel_loading')"
			onstop="Richfaces.hideModalPanel('panel_loading')"/>	
		<f:view>
			<a4j:region id="region">
				<rich:panel id="p">
					<f:facet name="header">
						<h:outputText value="Manter Funcionário" />
					</f:facet>
					<h:form id="manter">
						<rich:messages/>
						<fieldset>
							<legend><b>Dados Pessoais</b></legend>
							<h:panelGrid columns="2" id="formFunc">
								<h:outputLabel value="Nome" />
								<h:inputText size="40" value="#{funcionarioMB.funcionario.nome}" required="true" requiredMessage="Campo 'Nome' obrigatório!"/>
								<h:outputLabel value="Endereço" />
								<h:inputText size="40" value="#{funcionarioMB.funcionario.endereco}" required="true" requiredMessage="Campo 'Endereço' obrigatório!"/>
								<h:outputLabel value="Telefone" />
								<h:inputText size="20" value="#{funcionarioMB.funcionario.telefone}" required="true" requiredMessage="Campo 'Telefone' obrigatório!"/>
								<h:outputLabel value="Cargo" />
								<h:inputText size="20" value="#{funcionarioMB.funcionario.cargo}" required="true" requiredMessage="Campo 'Cargo' obrigatório!"/>
								<h:outputLabel value="CPF" />
								<h:inputText size="20" value="#{funcionarioMB.funcionario.cpf}" required="true" requiredMessage="Campo 'CPF' obrigatório!"/>
								<h:outputLabel value="RG" />
								<h:inputText size="20" value="#{funcionarioMB.funcionario.rg}" required="true" requiredMessage="Campo 'RG' obrigatório!"/>
							</h:panelGrid>
						</fieldset>
						<fieldset>
							<legend><b>Dados de Acesso</b></legend>
							<h:panelGrid columns="2">
								<h:outputLabel value="Perfil"/>
								<h:selectOneMenu value="#{funcionarioMB.funcionario.perfil.id}" required="true" requiredMessage="Campo 'Perfil' obrigatório!">
									<f:selectItems value="#{perfilMB.listaPerfilSI}"/>
								</h:selectOneMenu>
								<h:outputLabel value="Login"/>
								<h:inputText size="20" value="#{funcionarioMB.funcionario.login.login}" required="true" requiredMessage="Digite um login para o usuário!"/>
								<h:outputLabel value="Senha"/>
								<h:inputSecret size="20" value="#{funcionarioMB.funcionario.login.senha}" required="true" requiredMessage="Digite uma senha para o usuário!"/>
							</h:panelGrid>
						</fieldset><br/>
						<a4j:commandButton status="sts" value="Cadastrar" action="#{funcionarioMB.cadastrar}"/>
						<a4j:commandButton status="sts" value="Atualizar" action="#{funcionarioMB.atualizar}" reRender="manter" rendered="#{funcionarioMB.exibirAtualizar}"/><br/>
					</h:form>
				</rich:panel>
			</a4j:region>
				<rich:panel>
					<h:form id="pesquisa">
						<fieldset>
							<legend><b>Pesquisar Funcionário</b></legend>
							<h:selectOneRadio value="#{funcionarioMB.tipoPesquisa}">
								<f:selectItem itemLabel="Nome" itemValue="nome"/>
								<f:selectItem itemLabel="RG" itemValue="rg"/>
							</h:selectOneRadio>
							<h:inputText size="100" value="#{funcionarioMB.strPesquisa}"/>
							<a4j:commandButton value="Pesquisar" action="#{funcionarioMB.pesquisar}" reRender="pesquisa"/><br/><br/>
							<a4j:keepAlive beanName="funcionarioMB" ajaxOnly="true"></a4j:keepAlive>
							<rich:dataTable id="tabFunc" rendered="#{funcionarioMB.exibirLista}" value="#{funcionarioMB.listaFuncionario}" var="funcionario" rows="4" reRender="dsf">
						    	<f:facet name="header">
						        	<rich:columnGroup>
						            	<rich:column colspan="6" > 
						                    <h:outputText value=" FUNCIONÁRIOS"/>
						                </rich:column>  
						                <rich:column breakBefore="true">
						                	<h:outputText value="MATRÍCULA"/>
						                </rich:column>
						                <rich:column>
						                	<h:outputText value="NOME DO FUNCIONÁRIO" />
						                </rich:column>
						                <rich:column>
						                	<h:outputText value="CARGO"/>
						                </rich:column>
						                <rich:column>
						                	<h:outputText value="TELEFONE"/>
						                </rich:column>
						                <rich:column>
						                	<h:outputText value="EDITAR"/>
						                </rich:column>
						                <rich:column>
						                	<h:outputText value="EXCLUIR"/>
						                </rich:column>
						            </rich:columnGroup>
						        </f:facet>
							        <rich:column filterBy="#{funcionario.id}" filterEvent="onkeyup">
							        	<h:outputText value="#{funcionario.id}"/>
							        </rich:column>
							        <rich:column filterBy="#{funcionario.nome}" filterEvent="onkeyup">
							        	<h:outputText value="#{funcionario.nome}"/>
							        </rich:column> 
							        <rich:column filterBy="#{funcionario.cargo}" filterEvent="onkeyup">
							        	<h:outputText value="#{funcionario.cargo}"/> 
							        </rich:column>
							        <rich:column filterBy="#{funcionario.telefone}" filterEvent="onkeyup">
							         	<h:outputText value="#{funcionario.telefone}"/> 
							        </rich:column>
							        <rich:column>
										<a4j:commandLink action="#{funcionarioMB.editar}" reRender="p">
											<h:outputText value="Editar"/>
											<f:setPropertyActionListener value="#{funcionario.id}" target="#{funcionarioMB.funcionario.id}"/>
										</a4j:commandLink>
									</rich:column>
									<rich:column>
										<a4j:commandLink action="#{funcionarioMB.excluir}" reRender="pesquisa">
											<h:outputText value="Excluir"/>
											<f:setPropertyActionListener value="#{funcionario.id}" target="#{funcionarioMB.funcionario.id}"/>
										</a4j:commandLink>
									</rich:column>
						        <f:facet name="footer">
						        	<rich:datascroller id="dsf" renderIfSinglePage="false"></rich:datascroller>
						        </f:facet>
						     </rich:dataTable>
						</fieldset>
					</h:form>
				</rich:panel>
		</f:view>
    </ui:define>
</ui:composition>